home *** CD-ROM | disk | FTP | other *** search
- /**/
- options results ; signal on SYNTAX ; signal on ERROR ; signal on IOERR
- tr=transmit;ss=sendstring;gc=getchar;gu=getuser
- if ~show('L',"rexxsupport.library") then do
- if ~(addlib("rexxsupport.library",0,-30,0)) then do
- tr 'Need rexxsupport.library in LIBS:'
- exit
- end
- end
- regname='~'
- if exists('s:whmon.key')=1 then do
- call open(1,'s:whmon.key',r)
- regname=readln(1)
- regname=c2b(regname)
- regname=left(right(regname,length(regname)-4),length(regname)-8)
- regname=b2c(regname)
- call close(1)
- end
- getuser 2307050
- bbsname=result
- /* 12345678901234567890123456789012345678901234567890123456789012345678901234567890*/
- titlebar='n1z4cf#*Handle Where H*U M*U CU Logon Idle Left Baud Cmdq1'
-
- minport=0 /* Configure these for your minimum and maximum ports to be displayed */
- maxport=9
-
- if exists('s:whmon.config')=1 then do
- call open(1,'s:whmon.config',r)
- if eof(1)=0 then minport=readln(1)
- if eof(1)=0 then maxport=readln(1)
- call close(1)
- end
-
- pb="00000000"x
- getuser 23
- myport=result
- getuser 1200032
- timeenter=result/10
- getuser 17
- maint=result
- if ~(maint=0) then maint=1
- getuser (2424286+(4*myport))
- pnt=result
- temp=import(offset(pb,pnt+661),1)
- if left(c2b(temp),1)='1' then confctrl=1
- else confctrl=0
- getuser 1302307
- arg1=result
- pos=index(arg1,'-')
- if pos>0 then do
- minport=left(arg1,pos-1)
- if (minport<0)|(minport>99) then do
- tr 'Invalid Range'
- exit
- end
- maxport=right(arg1,length(arg1)-pos)
- if (maxport<minport)|(maxport>99) then do
- tr 'Invalid Range'
- exit
- end
- end
- else if length(arg1)>0 then do
- if datatype(arg1,n)=1 then do
- if (arg1>=0)&(arg1<=99) then do
- minport=arg1
- maxport=arg1
- end
- else do
- tr 'Invalid Port'
- exit
- end
- end
- else if arg1='?' then do
- tr 'cfz4Quick Who Monitor List v1.0a by Josef Faulknerq1'
- tr 'This program is a sub-program of my BBS Monitor. It is intended to get'
- tr 'the same information as you can from the BBS Monitor without doing a '
- tr 'complete screen clear, and bother waiting to load the full program. '
- tr 'Color codes and such are the same as shown in the help of the BBS Monitor.'
- tr 'If you do not have the BBS Monitor, email panther@gate.net for more info.'
- tr 'Arguments can be a range (ex: 1-5) or a single number.'
- exit
- end
- else do
- tr 'c7Invalid Argument "'arg1'". (must be numerical, a range, or ? for info)'
- exit
- end
- end
-
- tr titlebar
- do port=minport to maxport
- getportid port
- pid=result
- if pid>-1 then do
-
- getuser (2424286+(4*port))
- pnt=result
-
- da=import(offset(pb,pnt+72),20)
- temphandle=left(da,(index(da,"00"x)-1))
-
- da=import(offset(pb,pnt+28),2)
- timeleft=(c2d(da,2))/10
-
- da=import(offset(pb,pnt+30),2)
- timeidle=(c2d(da,2))/10
- if timeidle=0.1 then timeidle=0
-
- da=import(offset(pb,pnt+461),1)
- gender=c2d(da,1)
-
- da=import(offset(pb,pnt+32),2)
- timeon=(c2d(da,2))/10
-
- da=import(offset(pb,pnt+1744),1)
- hideall=c2d(da)
- if hideall=1 then hideall='*'
- else hideall='-'
-
- da=import(offset(pb,pnt+1745),1)
- muffall=c2d(da)
- if muffall=1 then muffall='*'
- else muffall='-'
-
- da=import(offset(pb,pnt+452),1)
- textset=c2d(da)
- if textset=0 then textset='ce'
- else if textset=1 then textset='cb'
- else if textset=2 then textset='ca'
- else textset='c9'
-
- da=import(offset(pb,pnt+1743),1)
- olmwait=c2d(da)
- if olmwait=1 then olmwait='*'
- else olmwait='-'
-
- da=import(offset(pb,pnt+7358),5)
- lastcmd=strip(da,,"00"x)
-
- da=import(offset(pb,pnt+542),2)
- logoncps=(c2d(da,2))*10
- getwhere port
- where=result
-
- da=c2b(import(offset(pb,pnt+(myport+1630)),1))
- hide=BitTST(da,0)
- if right(da,1)='1' then do
- if confctrl=1 then do
- handle=temphandle
- hide='*'
- extra=''
- end
- else do
- hide='+'
- handle='Hidden'
- extra='ca'
- end
- end
- else do
- hide='-'
- handle=temphandle
- extra=''
- end
- if left(right(da,2),1)='1' then do
- if confctrl=1 then muff='*'
- else muff='+'
- end
- else muff='-'
- if left(right(da,4),1)='1' then chat='*'
- else chat='-'
-
- getuser 1101630+port
- da=c2b(result)
- if right(da,1)='1' then myhide='*'
- else myhide='-'
- if left(right(da,2),1)='1' then mymuff='*'
- else mymuff='-'
- if left(right(da,4),1)='1' then mychat='*'
- else mychat='-'
-
- ss textset
- ss port//10
- if olmwait='*' then ss'*'
- else ss ' '
- if gender=0 then ss 'c9'
- else if gender=1 then ss'cc'
- ss extra
- ss left(handle,21,' ')
- ss 'ce'left(where,16,' ')
- ss 'cd'hide
- ss 'cd'hideall
- ss 'cd'myhide
- ss ' '
- ss 'cd'muff
- ss 'cd'muffall
- ss 'cd'mymuff
- ss ' '
- ss 'cd'chat
- ss 'cd'mychat
- ss ' '
- ss 'ca'left(timeon,6,' ')
- if timeidle>3 then ss 'cb'
- else if timeidle>5 then ss 'c9'
- else ss 'ca'
- ss left(timeidle,5,' ')
- ss 'ca'
- if timeleft<10 then ss 'c9'
- else if timeleft<30 then ss'cb'
- else ss'ca'
- if timeleft=999 then ss 'UNLIM '
- else ss left(timeleft,6,' ')
- if logoncps<2400 then ss 'c9'
- else if logoncps<9600 then ss 'cb'
- else if logoncps>14400 then ss 'ce'
- else ss 'ca'
- ss left(logoncps,6,' ')
- ss 'cb'lastcmd'n1'
- end
- else do
- getwhere port
- ss 'c7'port//10' c6'result'n1'
- end
- end
- if bbsname~=regname then tr 'z4cfQuick Who Monitor List v1.0a by Josef Faulkner (panther@gate.net) z1UnRegisteredq1'
- else tr 'z4cfQuick Who Monitor List v1.0a by Josef Faulkner (panther@gate.net) z2 Registered q1'
- exit
-
- SYNTAX: ; ERROR: ; IOERR: ; er=rc' ('errortext(rc)') in line 'sigl
- getuser 1311992 ; a=result ; getuser 1311960 ; b=result ; c='"'a||b'"'
- er='Error Code 'er' of 'c ; transmit er ; logentry er ; bufferflush
- exit
- /*
- $VER: CNet Quick BBS Monitor, v1.0a (27-Mar-95) by Josef Faulkner */
-